subconjuntos :: [a] -> [[a]]
subconjuntos []     = [[]]
subconjuntos (x:xs) = [x:ys | ys <- sub] ++ sub
    where sub = subconjuntos xs  
 
-- Cambiando la comprensión por map se obtiene
--subconjuntos' :: [a] -> [[a]]
--subconjuntos' []     = [[]]
--subconjuntos' (x:xs) = sub ++ map (x:) sub
   -- where sub = subconjuntos' xs  
